import type { Condition } from '../../systems/condition-checker/type';

export const FEATURE_UNLOCK_ID = {
  /** 修炼玩法 */
  CULTIVATION: 'CULTIVATION',
  /** 自动修炼功能 */
  AUTO_CULTIVATION: 'AUTO_CULTIVATION',
  /** 背包功能 */
  BACKPACK: 'BACKPACK',
  /** 历练(战斗玩法) */
  EXPERIENCE: 'EXPERIENCE',
  /** 宗门玩法 */
  SECT: 'SECT',
  /** 洞府玩法 */
  HOME: 'HOME',
  /** 世界 */
  WORLD: 'WORLD',
  /** 功法 */
  CULTIVATION_SKILL: 'CULTIVATION_SKILL',
  /** 坊市 */
  FANG_SHI: 'FANG_SHI',
  /** 灵根 */
  SPIRIT_ROOT: 'SPIRIT_ROOT',
} as const;

export type FeatureId = keyof typeof FEATURE_UNLOCK_ID;

export interface FeatureUnlockConfig {
  id: FeatureId;
  label: string;
  description?: string;
  conditions: Condition[];
}
